package com.hengpeng.itfinbase.persist;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Enumerated;

import com.hengpeng.common.web.annotation.HtmlInput;
import com.hengpeng.common.web.annotation.HtmlInputPattern;
import com.hengpeng.common.web.annotation.HtmlInputType;
import com.hengpeng.itfinbase.en.LevelType;
import com.hengpeng.itfinbase.en.UserLevel;
import com.hengpeng.itfinbase.idAssign.AbstractAssign18IdEntity;

/**
 * <pre>
 * 会员等级配置信息表
 * </pre>
 * 
 * @author weiyuan
 * @version 1.0, 2011年3月27日
 */
@Entity
public class UserLevelSet extends AbstractAssign18IdEntity {

    /**
     * 
     */
    private static final long serialVersionUID = -3651676073993807195L;

    @Column(length = 20)
    @Enumerated(javax.persistence.EnumType.STRING)
    @HtmlInput(label = "用户等级", type = HtmlInputType.SELECT, nullable = true, labelProperty = "text", index = 1)
    private UserLevel userLevel;

    @Column(length = 20)
    @Enumerated(javax.persistence.EnumType.STRING)
    @HtmlInput(label = "等级类型", type = HtmlInputType.SELECT, nullable = true, labelProperty = "text", index = 2)
    private LevelType levelType;
    /**
     * 金额单位为：分
     */
    @HtmlInput(label = "条件值(金额单位：元)", type = HtmlInputType.TEXT, nullable = false,pattern=HtmlInputPattern.INT, index = 3)
    private Long conditionVal;

    /**
     * 更新时间
     */
    @HtmlInput(label = "最后修改日期", type = HtmlInputType.TEXT, pattern = HtmlInputPattern.DATETIME, format = "yyyy-MM-dd HH:mm", nullable = true, index = 18)
    private Date updateTime;

    /**
     * 创建时间
     */
    @HtmlInput(label = "创建时间", type = HtmlInputType.TEXT, pattern = HtmlInputPattern.DATETIME, format = "yyyy-MM-dd HH:mm", nullable = true, index = 17)
    private Date createTime;

    public UserLevel getUserLevel() {
        return userLevel;
    }

    public void setUserLevel(UserLevel userLevel) {
        this.userLevel = userLevel;
    }

    public LevelType getLevelType() {
        return levelType;
    }

    public void setLevelType(LevelType levelType) {
        this.levelType = levelType;
    }

    public Long getConditionVal() {
        return conditionVal;
    }

    public void setConditionVal(Long conditionVal) {
        this.conditionVal = conditionVal;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

}
